﻿#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//举例1：求n的阶乘

//int add(int n)
//{
//	if (n == 1)
//		return 1;
//	else
//		return n * add(n-1);
//}
//
//int main()
//{
//	int  n = 0;
//	scanf("%d", &n);
//	int sz = add(n);
//	printf("%d ", sz);
//	return 0;
//}


//举例2：顺序打印⼀个整数的每⼀位 
//输入1234  打印1234

//int add(int n)
//{
//	if (n > 9)
//	{
//		add(n / 10);
//	}
//	printf("%d", n % 10);
//}
//
//int main()
//{
//	int n = 1234;
//	//scanf("%d", &n);
//	add(n);
//	return 0;
//}

//举例2：顺序打印⼀个整数的每⼀位 
//输入1234  打印1234

//void add(int n)
//{
//	if (n>9)
//	{
//		add(n / 10);
//	}
//	printf("%d ", n % 10);
//}

//int add(int n)
//{
//	int i;
//	int ret = 1;
//	for ( i = 1; i <=n; i++)
//	{
//		ret = ret * i;
//	}
//	return ret;
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int sz = add(n);
//	printf("%d ", sz);
//	return 0;
//}

//求第n个斐波那契数 
//1 1 2 3 5 8 13 21

//int fib(int n)
//{
//	if (n <= 2)
//		return 1;
//	else
//		return fib(n-1) + fib(n - 2);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int sz = fib(n);
//	printf("%d", sz);
//	return 0;
//}

jump(int n)
{
	if (n <= 2)
		return n;
	else
		return jump(n - 1) + jump(n-2);
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	int way = jump(n);
	printf("蛙跳 %d 个台阶有 %d 种方法\n", n, way);
	return 0;
}